1. The Field of the Invention
The present invention relates to methods for efficiently generating a selection representation for items in tree-type data structures.
2. The Relevant Technology
Tree structures are used extensively in computer science and telecommunications because of the organized manner in which the hierarchical nature of a structure can be depicted in graphical form. The elements of the tree structure have certain terminology. The elements themselves are called “nodes.” The lines connecting elements are called “branches.” The starting node is often called the “root.” A node is a “parent” of another node if it is one step higher in the hierarchy. “Sibling” nodes share the same parent node and are referred to as children of the parent node. Nodes without children are called “end-nodes” or “leaves.”
Tree structures are used to depict all kinds of taxonomic knowledge, such as family trees, the Evolutionary tree, the grammatical structure of a language, the way web pages are logically ordered in a web site, etc. In a tree structure there is only one path from any point to any other point. Thus, each element can be defined by a particular path.
In a computer science environment, when a user is allowed to select various elements in a tree structure, the user must explicitly call out which items they choose to select. As can be appreciated, for a very large tree structure, the selection list created can become extensive. Furthermore, because tree structures can have multiple tiers of parent/children nodes, the user may want to select a parent node, but not select one or more children of the parent. This can result in extensive selection lists to accommodate selection and/or deselection of parent, children, grandchildren, great grandchildren nodes, etc.
FIG. 1 illustrates an exemplary selection list for use with a backup system. The user has selected certain files to be included in a backup. Each of the files or elements are represented by an explicit pathway so that a processor will know where in a file system to look for the element. In this exemplary hypothetical, the file system relates to files contained in the E:\drive. Had the user wanted all of the files in the E drive to be backed up, it would be a simple matter for the selection system to simply list E:\. However, in the embodiment of FIG. 1, the user has determined that certain files are not to be backed up, and hence, the need to explicitly state all of the files that the user requests to be positively selected for saving. As can be seen, the selection list just for the E drive is extensive. When other drives are also considered, it is appreciated that the selection list can become extremely long depending on the number of files selected for backup.